package top.tangyh.lamp.care.vo.save;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import java.time.LocalDateTime;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
import java.io.Serializable;

/**
 * <p>
 * 表单保存方法VO
 * 检查结果表
 * </p>
 *
 * @author zqb
 * @date 2024-08-02 16:39:32
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString(callSuper = true)
@Accessors(chain = true)
@EqualsAndHashCode
@Builder
@Schema(description = "检查结果表")
public class BHl7YzPacsResultSaveVO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 病人识别号
     */
    @Schema(description = "病人识别号")
    @Size(max = 64, message = "病人识别号长度不能超过{max}")
    private String patientIdent;
    /**
     * 住院号
     */
    @Schema(description = "住院号")
    @Size(max = 32, message = "住院号长度不能超过{max}")
    private String hospitalNumber;
    /**
     * 申请单号id
     */
    @Schema(description = "申请单号id")
    @Size(max = 64, message = "申请单号id长度不能超过{max}")
    private String applyId;
    /**
     * 报告id
     */
    @Schema(description = "报告id")
    @Size(max = 64, message = "报告id长度不能超过{max}")
    private String reportId;
    /**
     * 申请科室
     */
    @Schema(description = "申请科室")
    @Size(max = 32, message = "申请科室长度不能超过{max}")
    private String applyDeptName;
    /**
     * 执行科室
     */
    @Schema(description = "执行科室")
    @Size(max = 32, message = "执行科室长度不能超过{max}")
    private String exeDeptName;
    /**
     * 检查部位
     */
    @Schema(description = "检查部位")
    @Size(max = 32, message = "检查部位长度不能超过{max}")
    private String checkPart;
    /**
     * 检查类型
     */
    @Schema(description = "检查类型")
    @Size(max = 16, message = "检查类型长度不能超过{max}")
    private String checkType;
    /**
     * 检查项目名称
     */
    @Schema(description = "检查项目名称")
    @Size(max = 64, message = "检查项目名称长度不能超过{max}")
    private String projectName;
    /**
     * 报告时间
     */
    @Schema(description = "报告时间")
    private LocalDateTime reportTime;
    /**
     * 报告结果F=完成P=初步报告
     */
    @Schema(description = "报告结果F=完成P=初步报告")
    @Size(max = 32, message = "报告结果F=完成P=初步报告长度不能超过{max}")
    private String reportResult;
    /**
     * 诊断印象IMP
     */
    @Schema(description = "诊断印象IMP")
    @Size(max = 65535, message = "诊断印象IMP长度不能超过{max}")
    private String impression;
    /**
     * 诊断建议REC
     */
    @Schema(description = "诊断建议REC")
    @Size(max = 65535, message = "诊断建议REC长度不能超过{max}")
    private String advice;
    /**
     * 诊断所见GDT
     */
    @Schema(description = "诊断所见GDT")
    @Size(max = 65535, message = "诊断所见GDT长度不能超过{max}")
    private String see;
    /**
     * 报告存储路径RRP
     */
    @Schema(description = "报告存储路径RRP")
    @Size(max = 65535, message = "报告存储路径RRP长度不能超过{max}")
    private String reportUrl;
    /**
     * 主报告文件ZMF(UU Encoded)
     */
    @Schema(description = "主报告文件ZMF(UU Encoded)")
    @Size(max = 65535, message = "主报告文件ZMF(UU Encoded)长度不能超过{max}")
    private String masterReportFile;
    /**
     * 相关报告文件ZRF(UU Encoded)
     */
    @Schema(description = "相关报告文件ZRF(UU Encoded)")
    @Size(max = 65535, message = "相关报告文件ZRF(UU Encoded)长度不能超过{max}")
    private String relationReportFile;
    /**
     * 为项目的测量值
     */
    @Schema(description = "为项目的测量值")
    @Size(max = 32, message = "为项目的测量值长度不能超过{max}")
    private String obserValue;
    /**
     * 记录员姓名
     */
    @Schema(description = "记录员姓名")
    @Size(max = 64, message = "记录员姓名长度不能超过{max}")
    private String recordName;
    /**
     * 危急值标志
     */
    @Schema(description = "危急值标志")
    @Size(max = 8, message = "危急值标志长度不能超过{max}")
    private String warnFlag;
    /**
     * 危急值内容
     */
    @Schema(description = "危急值内容")
    @Size(max = 128, message = "危急值内容长度不能超过{max}")
    private String warnContent;




}
